//
//  PreferenceController.h
//  PicUploader
//
//  Created by Chen Zhang on 8/19/08.
//  Copyright 2008 overboming. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "DBPrefsWindowController.h"
@class PUBoard;

extern NSString * const ZCFavUserNameKey;
extern NSString * const ZCFavPasswordKey;
extern NSString * const ZCFavBoardKey;
extern NSString * const ZCRemeberMeKey;
extern NSString * const ZCCookieStringKey;
extern NSString * const ZCMaxThreadNumKey;
extern NSString * const ZCBoardNameList;
extern NSString * const ZCImageQualityKey;
extern NSString * const ZCImageSizeKey;
extern NSString * const ZCImageLogArrayKey;


//notification
extern NSString * const ZCThreadNumChangedNotification;
extern NSString * const ZCBoardListChangedNotification;
extern NSString * const ZCFavBoardChangedNotification;
extern NSString * const ZCImageQualityChangedNotification;
extern NSString * const ZCImageSizeChangedNotification;

@interface PreferenceController : DBPrefsWindowController {
    IBOutlet NSView *accountPreferenceView;
    IBOutlet NSView *generalPreferenceView;
    IBOutlet NSView *updatePreferenceView;
    
    
    IBOutlet NSTextField *usernameField;
    IBOutlet NSSecureTextField *passwordField;
    IBOutlet NSComboBox *boardBox;
    IBOutlet NSButton *rememberMeCheckBox;
    IBOutlet NSButton *updateButton;
    
    IBOutlet NSComboBox *maxThreadBox;
    IBOutlet NSComboBox *imageQualityBox;
    IBOutlet NSComboBox *imageSizeBox;
}

- (NSString *)favUserName;
- (NSString *)favPassword;
- (NSString *)favBoard;
- (NSInteger)maxThread;
- (BOOL)rememberMe;
- (NSString *)imageQuality;
- (NSString *)imageSize;
- (NSMutableArray *)imageLogArray;
- (IBAction)changeFavUserName:(id)sender;
- (IBAction)changeFavPassword:(id)sender;
- (IBAction)changeFavBoard:(id)sender;
- (IBAction)changeRememberMe:(id)sender;
- (IBAction)changeMaxThread:(id)sender;
- (IBAction)changeImageQuality:(id)sender;
- (IBAction)changeImageSize:(id)sender;
- (void)changeImageLogArray:(NSMutableArray *)array;
- (void)showProjectHome:(id)sender;
- (IBAction)updateAccountInfo:(id)sender;

@end
